import axios from 'axios';
import { userLoginStorage } from '@/stores/userloginStorage'; // 引入 store
import { config } from '@vue/test-utils';
const axiosInstance = axios.create({
    
  baseURL: '',
  // headers: {
  //   'Content-Type': 'application/json',
  // },
  responseType: 'json', // 默认值

});
axiosInstance.defaults.timeout = 10000; // 设置超时时间
axiosInstance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; // 设置post请求头
//设置request拦截器给每个需要访问权限的路径加入本系统用户的token访问令牌信息
axiosInstance.interceptors.request.use(config =>{
  const storage=userLoginStorage();//获取Pinia store实例
  const token=storage.token;//获取token
  if(!config.url?.startsWith('/api/alipay/')&&token&&storage.isAuthenticated){
    //请求头须为token，token中间应该有空格
    config.headers['token'] =`${token}`;
  }
  return config;
}
,error=>{
  return Promise.reject(error);
}
)
export function get(url,params,callback){
  axios({
      url:url,
      params:params,
      method:"get"
  }).then((e)=>{
      if (e.data.code==200||e.data.code==6000){
          callback(e)
      }
  }).catch(err=>{
      callback(err)
  })
}


export function getAsync(url, params, callback) {
  axios.get(url, {
      params: params,
    //   async: true // 不建议使用该选项
  }).then((e) => {
      callback(e);
  }).catch(err => {
      callback(err);
  });
}


export function post(url,data,callback){
  axios({
      url:url,
      data:data,
      method:"post"
  }).then((e)=>{
      if (e.data.code==200||e.data.code==6000){
          callback(e)
      }
  }).catch(err=>{
      callback(err)
  })
}
export default axiosInstance;







